package net.mingsoft.expertmanage.service;

import com.baomidou.mybatisplus.extension.service.IService;
import net.mingsoft.expertmanage.entity.CompanyEntity;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 企业信息Service接口
 */
public interface ICompanyService extends IService<CompanyEntity> {
    
    /**
     * 根据企业编号查询企业信息
     * @param companyCode 企业编号
     * @return 企业信息
     */
    CompanyEntity getByCompanyCode(String companyCode);
    
    /**
     * 从关联信息中提取企业编号
     * 
     * @param relation 关联信息（格式如：关联企业库QY-001、QY-004等)
     * @return 企业编号，若未找到则返回null
     */
    String extractCompanyCodeFromRelation(String relation);
    
    /**
     * 导入Excel数据
     * @param file Excel文件
     * @return 导入结果
     */
    String importExcel(MultipartFile file) throws Exception;
    
    /**
     * 根据关键词查询企业列表
     * @param keyword 关键词
     * @return 企业列表
     */
    List<CompanyEntity> searchByKeyword(String keyword);
    
    /**
     * 获取最大的序号值
     * @return 最大序号值，如果没有记录则返回null
     */
    Integer getMaxSerialNo();
    
    /**
     * 根据专家编号查询关联的企业
     * @param expertCode 专家编号
     * @return 关联的企业列表
     */
    List<CompanyEntity> getByExpertCode(String expertCode);
} 